/**
 * 接口请求返回结果
 */
export type ApiResult = {
  code: number // 接口返回代码
  message: string // 接口返回错误消息
  loginUrl?: string // 接口返回登录页面链接
  data?:any
  list?:any
}
/**
 * 接口请求退出登录
 */
export type ApiLogoutResult = ApiResult & {
  logoutUrl?: string 
}
/**
 * 接口请求返回数据结果
 */
export type ApiDataResult<T = any> = ApiResult & {
  data: T // 数据信息
}

/**
 * 接口请求返回分页信息
 */
export type Paging = {
  pageNo?: number //当前页码
  pageSize?: number // 每页显示数量
  total?: number // 总记录数
}

/**
 * 接口请求返回数据结果
 */
export type ApiPageResult<T = any> = ApiResult & {
  list: T[] // 数据列表信息
  page: Paging // 分页信息
}

/**
 * @description：请求配置
 */
export enum ResultCodeEnum {
  SUCCESS = 200,
  ERROR = 500,
  OVERDUE = 401,
  TIMEOUT = 30000,
  TYPE = 'success'
}

/**
 * @description：请求方法
 */
export enum RequestMethodEnum {
  GET = 'GET',
  POST = 'POST',
  PATCH = 'PATCH',
  PUT = 'PUT',
  DELETE = 'DELETE'
}

/**
 * @description：常用的 contentTyp 类型
 */
export enum ContentTypeEnum {
  // json
  JSON = 'application/json;charset=UTF-8',
  // text
  TEXT = 'text/plain;charset=UTF-8',
  // form-data 一般配合qs
  FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
  // form-data 上传
  FORM_DATA = 'multipart/form-data;charset=UTF-8'
}
